The invention relates in general to the field of key-value stores and related methods for storing, retrieving and managing files based on key-value pairs.
A key-value store, also called key-value system, or key-value database, refers to a data storage system, wherein records are stored as objects called key-value pairs. Contents of the record (i.e., the value of a key-value pair) can be retrieved from the key-value store using a key (i.e., the name of that record) that uniquely identifies this record. More generally, key-value stores are typically equipped with computerized methods for managing objects stored thereon.
Whereas relational databases pre-define a data structure in the database (as tables containing fields with defined data types), key-value stores do not impose such constraints and therefore offer more flexibility, often require less memory to store the same contents, which can lead to large performance gains in certain conditions. However, the key-value structures of a generic key-value store make it difficult to represent filesystem data and metadata.